Gradual verification of recursive heap data structures
نویسندگان
چکیده
منابع مشابه
Correctness of Data Representations Involving Heap Data Structures
While the semantics of local variables in programming languages is by now wellunderstood, the semantics of pointer-addressed heap variables is still an outstanding issue. In particular, the commonly assumed relational reasoning principles for data representations have not been validated in a semantic model of heap variables. In this paper, we define a parametricity semantics for a Pascal-like l...
متن کاملRecursive Assertions for Data Structures
We present an assertion language for expressing properties of data structures. Its key features are constraints over arrays, multisets and integers which allow the specification of basic assertions, and rules, which allow the recursive specification of assertions. This language can thus be used to define assertions to an arbitrary level of expressiveness, ranging from low-level properties of me...
متن کاملAn Inference-Rule-Based Decision Procedure for Verification of Heap-Manipulating Programs with Mutable Data and Cyclic Data Structures
Research on the automatic verification of heap-manipulating programs (HMPs) — programs that manipulate unbounded linked data structures via pointers — has blossomed recently, with many different approaches all showing leaps in performance and expressiveness. A year ago, we proposed a small logic for specifying predicates about HMPs and demonstrated that an inference-rule-based decision procedur...
متن کاملAnalysis of Parallelism in Recursive Functions on Recursive Data Structures
In functional languages, iterative operations on data collections are naturally expressed using recursive functions on recursive data structures. In this paper, we present a method to extract data parallelism from recursive functions and generate data parallel programs. As the parallel model for object programs, we use polytypic parallel skeletons. This model can express data parallel operation...
متن کاملStatic Analysis of Recursive Data Structures
The static analysis of imperative languages is made diicult by the unrestricted pointer structures which makes their analysis imprecise. A static analysis approach is proposed for a class of graph structures, where the regularity is described by the programmer via a Markov algorithm. The method is illustrated with an example. 1 Motivation The static analysis of programs involving arrays with a ...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
ژورنال
عنوان ژورنال: Proceedings of the ACM on Programming Languages
سال: 2020
ISSN: 2475-1421
DOI: 10.1145/3428296